package com.lh.entity.table;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
@TableName("rectification_info_approval")
public class RectificationInfoApproval {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField(value = "rectification_id")
    private Integer rectificationId;

    /**
     * 问题大类id
     */
    @TableField("summary_id")
    private Integer summaryId;

    /**
     * 任务2id
     */
    @TableField("task2_id")
    private Integer task2Id;

    /**
     * 问题表现
     */
    @TableField("content")
    private String content;

    /**
     * 整改时限
     */
    @TableField("time_limit")
    private Date timeLimit;

    /**
     * 责任单位名称
     */
    @TableField("department_name")
    private String departmentName;

    /**
     * 责任单位id
     */
    @TableField("department_id")
    private Integer departmentId;

    /**
     * 牵头领导
     */
    @TableField("lead_leader")
    private String leadLeader;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 创建时间
     */
    @TableField("created_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    /**
     * 排序
     */
    @TableField("sort")
    private Integer sort;

    /**
     * 状态
     */
    @TableField("state")
    private String state;

    /**
     * 文件路径
     */
    @TableField("file_url")
    private String fileUrl;

    /**
     * 截止时间
     */
    @TableField("deadline")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deadline;

    /**
     * 节点类型
     */
    @TableField("node_type")
    private String nodeType;

    /**
     * 申请描述
     */
    @TableField("application_describe")
    private String applicationDescribe;

    /**
     * 申请备注
     */
    @TableField("application_remark")
    private String applicationRemark;

    /**
     * 审核描述
     */
    @TableField("chcek_describe")
    private String chcekDescribe;

    /**
     * 审核备注
     */
    @TableField("check_remark")
    private String checkRemark;

    /**
     * 区域名称
     */
    @TableField("area_name")
    private String areaName;

    /**
     * 项目名称
     */
    @TableField("title")
    private String title;

    /**
     * 项目金额
     */
    @TableField("amount")
    private String amount;

    /**
     * 项目类型
     */
    @TableField("project_type")
    private String projectType;

    /**
     * 所属行业
     */
    @TableField("sector")
    private String sector;

    /**
     * 牵头单位
     */
    @TableField("lead_unit")
    private String leadUnit;

    /**
     * 负责人
     */
    @TableField("person_liable")
    private String personLiaible;

    /**
     * 进度与问题
     */
    @TableField("progress_and_problem")
    private String progressAndProblem;

    /**
     * 当前节点
     */
    @TableField("current_node")
    private String currentNode;

    /**
     * 项目子类型
     */
    @TableField("project_child_type")
    private String projectChildType;

    /**
     * 项目子分类类型
     */
    @TableField("project_child_category_type")
    private String projectChildCategoryType;

    @TableField("creator_unit")
    private String creatorUnit;

    @TableField("bj_no")
    private String bjNo;

    @TableField("petitioner")
    private String petitioner;

    @TableField("limit_time")
    private String limitTime;

    @TableField("record_date")
    private String recordDate;

    @TableField("appeal_type")
    private String appealType;

    @TableField("appeal_level")
    private String appealLevel;

    @TableField("duration")
    private String duration;

    @TableField("completion_attachments")
    private String completionAttachments;

    @TableField("is_edit")
    private Integer isEdit;

    /**
     * 审核状态
     */
    @TableField("approval_state")
    private String approvalState;

    /**
     * 审核备注
     */
    @TableField("approval_remake")
    private String approvalRemake;

    /**
     * 审核附件地址
     */
    @TableField("approval_url")
    private String approvalUrl;

    @TableField(exist = false)
    private List<DeadlineNode> deadlineNodeList;

    @TableField(exist = false)
    private List<TicketProblemPercent> ticketProblemPercentList;


    @TableField("label")
    private String label;
    @TableField("leader_contact_name")
    private String leaderContactName;
    @TableField("leader_contact_phone")
    private String leaderContactPhone;
    @TableField("creator_contact_name")
    private String creatorContactName;
    @TableField("creator_contact_phone")
    private String creatorContactPhone;

    @TableField("apply_reason")
    private String applyReason;

    @TableField("applyUrl")
    private String applyUrl;

    @TableField(exist = false)
    private String currentDepartment;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("last_operation_time")
    private Date lastOperationTime;

    @TableField("amount_plan")
    private String amountPlan;
}
